ديف أوبس

إعداد ACL وتركيب NFS على Linux

استخدام قوائم التحكم في الوصول ACL وتركيب أنظمة الملفات الشبكية على Red Hat Enterprise Linux

تعتبر أنظمة Linux من أكثر الأنظمة استخدامًا في بيئات الخوادم والشبكات نظرًا لما تتمتع به من مرونة وأمان عالي. أحد الجوانب التي تعزز من مرونة النظام هو إمكانية إدارة الأذونات على الملفات والمجلدات باستخدام قوائم التحكم في الوصول (Access Control Lists) أو ما يعرف اختصارًا بـ ACL. تعتبر ACL طريقة متقدمة لإدارة الأذونات على الملفات في نظام Linux، حيث توفر تحكمًا أدق في الوصول إلى الملفات والمجلدات مقارنة بالطريقة التقليدية باستخدام الأذونات الأساسية.

تتعدد التطبيقات العملية لـ ACL في بيئات العمل الحديثة، سواء كانت تتعلق بإدارة أنظمة الملفات أو تركيب أنظمة الملفات الشبكية مثل NFS (Network File System). في هذا المقال، سنتناول كيف يمكن الاستفادة من ACL في بيئة Red Hat Enterprise Linux وكيفية تركيب أنظمة الملفات الشبكية لإدارة البيانات بين الخوادم والأجهزة.

1. مقدمة حول ACL في Linux

تُعد قوائم التحكم في الوصول (ACL) آلية متقدمة لإدارة الأذونات في أنظمة Linux، حيث توفر مستوى إضافيًا من التحكم على مستوى المستخدمين والمجموعات. تعتمد الأذونات التقليدية في Linux على ثلاثة أبعاد أساسية هي: المالك، المجموعة، والآخرون. لكن باستخدام ACL، يمكن منح الأذونات لمستخدمين محددين أو مجموعات محددة على ملفات أو مجلدات معينة.

أنواع الأذونات في ACL:

  • قراءة (Read): يسمح بالقراءة فقط للملف أو المجلد.

  • كتابة (Write): يسمح بالكتابة أو التعديل على الملف أو المجلد.

  • تنفيذ (Execute): يسمح بتنفيذ الملف إذا كان برنامجًا أو الوصول إلى المجلد.

فوائد استخدام ACL:

  1. مرونة أكبر: يسمح ACL بإعطاء أذونات مخصصة للمستخدمين أو المجموعات بشكل أكثر دقة.

  2. إدارة محسّنة: يمكن منح الأذونات على أساس الملفات أو المجلدات الفردية دون الحاجة إلى تغيير الأذونات العامة للنظام.

  3. التحكم المتقدم: يتيح لك ACL تحديد الأذونات بشكل فردي للمستخدمين دون التأثير على إعدادات الأذونات للآخرين.

2. إعداد ACL على Red Hat Enterprise Linux

يتطلب تمكين استخدام قوائم التحكم في الوصول (ACL) في نظام Linux التأكد من أن النظام يدعم هذه الميزة وأن الملفات والمجلدات التي تريد تطبيق ACL عليها يتم تهيئتها بشكل صحيح.

التحقق من دعم ACL في النظام:
للتحقق من دعم ACL في نظام Red Hat Enterprise Linux، يمكنك استخدام الأمر التالي:

bash
tune2fs -l /dev/sda1 | grep "Default mount options"

إذا كانت خيارات التركيب لا تشمل “acl”، فإن ذلك يعني أن النظام لا يدعم ACL بشكل افتراضي، وفي هذه الحالة يجب تعديل التكوين لتمكينه.

تمكين ACL:

  1. قم بتعديل ملف /etc/fstab لتمكين ACL عند تركيب الملفات:

    bash
    vi /etc/fstab

    ثم أضف acl إلى خيارات التركيب للأقسام التي تريد تمكين ACL لها. على سبيل المثال:

    bash
    /dev/sda1 / ext4 defaults,acl 1 1
  2. بعد تعديل الملف، أعد تحميل نظام الملفات باستخدام الأمر:

    bash
    mount -o remount /dev/sda1

إعداد ACL على الملفات والمجلدات:
بمجرد تمكين ACL، يمكنك استخدام الأوامر التالية لإدارة الأذونات:

  • إضافة أذونات لمستخدم أو مجموعة باستخدام ACL:
    لتحديد أذونات للمستخدم أو المجموعة، استخدم الأمر setfacl:

    bash
    setfacl -m u:username:rwx /path/to/file

    حيث يقوم هذا الأمر بمنح المستخدم “username” أذونات القراءة والكتابة والتنفيذ على الملف أو المجلد المحدد.

  • إضافة أذونات لمجموعة:
    لتحديد أذونات لمجموعة معينة:

    bash
    setfacl -m g:groupname:rx /path/to/directory
  • عرض الأذونات باستخدام ACL:
    لاطلاع المستخدم على الأذونات المطبقة على ملف أو مجلد معين، استخدم الأمر getfacl:

    bash
    getfacl /path/to/file
  • إزالة ACL من ملف أو مجلد:
    لإزالة ACL من ملف أو مجلد:

    bash
    setfacl -x u:username /path/to/file

3. تركيب أنظمة الملفات الشبكية NFS

نظام NFS (Network File System) هو بروتوكول يستخدم لمشاركة الملفات بين الخوادم والأجهزة عبر الشبكة. باستخدام NFS، يمكن للخوادم التي تعمل بنظام Linux الوصول إلى الملفات المخزنة على خوادم أخرى كما لو كانت على النظام المحلي.

خطوات تركيب NFS على Red Hat Enterprise Linux:

  1. تثبيت حزم NFS:
    أولاً، يجب تثبيت الحزم اللازمة لتشغيل NFS باستخدام الأمر التالي:

    bash
    yum install nfs-utils
  2. تهيئة الخادم لمشاركة الملفات:
    بعد تثبيت الحزم، يمكنك بدء خدمة NFS وتهيئتها لمشاركة الملفات. على الخادم الذي يحتوي على الملفات، يجب تعديل ملف /etc/exports لتحديد المجلدات التي سيتم مشاركتها. على سبيل المثال:

    bash
    /mnt/data 192.168.1.0/24(rw,sync,no_root_squash)

    يعني هذا أن المجلد /mnt/data سيتم مشاركته مع جميع الأجهزة في الشبكة الفرعية 192.168.1.0/24، مع السماح بقراءة وكتابة الملفات.

  3. بدء خدمة NFS:
    بعد تعديل ملف exports، يجب بدء خدمة NFS وتشغيلها:

    bash
    systemctl start nfs-server systemctl enable nfs-server
  4. إعداد الخادم للاستماع على الشبكة:
    تأكد من أن جدار الحماية يسمح للاتصالات بـ NFS. يمكنك تكوين جدار الحماية باستخدام:

    bash
    firewall-cmd --permanent --zone=public --add-service=nfs firewall-cmd --reload
  5. تركيب المجلدات على العميل:
    على العميل، قم بتركيب المجلد المشترك باستخدام الأمر التالي:

    bash
    mount -t nfs server:/mnt/data /mnt/data

    حيث يقوم هذا الأمر بتركيب المجلد /mnt/data المشترك من الخادم على المجلد المحلي /mnt/data في جهاز العميل.

  6. إعداد التركيب الدائم:
    إذا كنت ترغب في تركيب المجلد بشكل دائم عند بدء التشغيل، يمكنك إضافة السطر التالي إلى ملف /etc/fstab:

    bash
    server:/mnt/data /mnt/data nfs defaults 0 0

4. إدارة الأذونات عبر NFS

يمكن استخدام ACL في أنظمة NFS لتحسين إدارة الأذونات عبر الشبكة. تتيح لك هذه الميزة ضمان أن الأذونات التي تم تكوينها على خوادم NFS تتم المحافظة عليها عندما يتم الوصول إليها من أجهزة مختلفة.

ملاحظات حول استخدام ACL مع NFS:

  • يجب أن يكون الخادم والعميل يدعمان ACL بشكل صحيح.

  • تأكد من أن إعدادات الخادم والعميل متوافقة مع نقل الأذونات عبر NFS.

5. الخاتمة

توفر قوائم التحكم في الوصول (ACL) طريقة مرنة ومتقدمة لإدارة الأذونات في نظام Linux، مما يعزز الأمان ويسهل عملية تخصيص الأذونات للمستخدمين والمجموعات. كما يعد تركيب أنظمة الملفات الشبكية مثل NFS خطوة مهمة في بيئات العمل الحديثة التي تحتاج إلى تبادل الملفات بين الخوادم عبر الشبكة. باستخدام NFS مع ACL، يمكنك ضمان أمان البيانات والوصول الدقيق إلى الملفات عبر الشبكة.